﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using MySql.Data.MySqlClient;
using ProntuarioEletronico;
using ProntuarioEletronico.Repositorio;

namespace ProntuarioEletronico.Banco
{
    public class BancoCadMedico
    {
        ConexaoMysql conect = new ConexaoMysql();

        public DataTable selectMedico()
        {
            try
            {
                String sql = "SELECT * FROM Cadastro_Medico";
                MySqlCommand cmd = new MySqlCommand(sql, conect.conn);
                MySqlDataAdapter da = new MySqlDataAdapter();
                da.SelectCommand = cmd;
                DataTable dt = new DataTable();
                da.Fill(dt);
                return dt;
            }
            catch (Exception ex)
            {

                throw ex;
            }
            finally
            {
                conect.conn.Close();
            }
        }


        public void insertMedico(CadMedico medico)
        {
            try
            {
                string sql = "INSERT INTO Cadastro_Medico (NomeCompleto, Sexo, DataDeNascimento, Email, CRM, UFCRM, DataInscricao, Especializacao, RG, EmissorRG, CPF, TituloEleitor, Login, Senha) VALUES(@NomeCompleto, @Sexo, @DataDeNascimento, @Email, @CRM, @UFCRM, @DataInscricao, @Especializacao, @RG, @EmissorRG, @CPF, @TituloEleitor, @Login, @Senha)";
              
                MySqlCommand cmd = new MySqlCommand(sql, conect.conn);
                cmd.Parameters.AddWithValue("@NomeCompleto", medico.NomeMedico);
                cmd.Parameters.AddWithValue("@Sexo", medico.SexoMedico);
                cmd.Parameters.AddWithValue("@DataDeNascimento", medico.DataNascMedico);
                cmd.Parameters.AddWithValue("@Email", medico.EmailMedico);
                cmd.Parameters.AddWithValue("@CRM", medico.CrmMedico);
                cmd.Parameters.AddWithValue("@UFCRM", medico.UfcrmMedico);
                cmd.Parameters.AddWithValue("@DataInscricao", medico.DataInscricaocrmMedico);
                cmd.Parameters.AddWithValue("@Especializacao", medico.EspecializacaoMedico);
                cmd.Parameters.AddWithValue("@RG", medico.RgMedico);
                cmd.Parameters.AddWithValue("@EmissorRG", medico.EmissorRgMedico);
                cmd.Parameters.AddWithValue("@CPF", medico.CpfMedico);
                cmd.Parameters.AddWithValue("@TituloEleitor", medico.TituloEleitorMedico);
                cmd.Parameters.AddWithValue("@Login", medico.UsuarioMedico);
                cmd.Parameters.AddWithValue("@Senha", medico.SenhaMedico);
                
                cmd.ExecuteNonQuery();
                
            }
            catch (Exception ex)
            {

                throw ex;
            }
            finally
            {
                conect.conn.Close();
            }
        }

        public void updateMedico(CadMedico medico)
        {
            try
            {
                string sql = "UPDATE Cadastro_Medico " +
                    "SET NomeCompleto = @NomeCompleto "+
                    "Sexo = @Sexo "+
                    "DataDeNascimento = @DataDeNascimento "+
                    "Email = @Email"+
                    "CRM = @CRM"+
                    "UFCRM = @UFCRM"+
                    "DataInscricao = @DataInscricao "+
                    "Especializacao = @Especializacao"+ 
                    "RG = @RG"+
                    "EmissorRG = @EmissorRG"+
                    "CPF = @CPF"+
                    "TituloEleitor = @TituloEleitor"+
                    "Login = @Login"+
                    "Senha = @Senha WHERE id =0";


                MySqlCommand cmd = new MySqlCommand(sql, conect.conn);
                cmd.Parameters.AddWithValue("@NomeCompleto", medico.NomeMedico);
                cmd.Parameters.AddWithValue("@Sexo", medico.SexoMedico);
                cmd.Parameters.AddWithValue("@DataDeNascimento", medico.DataNascMedico);
                cmd.Parameters.AddWithValue("@Email", medico.EmailMedico);
                cmd.Parameters.AddWithValue("@CRM", medico.CrmMedico);
                cmd.Parameters.AddWithValue("@UFCRM", medico.UfcrmMedico);
                cmd.Parameters.AddWithValue("@DataInscricao", medico.DataInscricaocrmMedico);
                cmd.Parameters.AddWithValue("@Especializacao", medico.EspecializacaoMedico);
                cmd.Parameters.AddWithValue("@RG", medico.RgMedico);
                cmd.Parameters.AddWithValue("@EmissorRG", medico.EmissorRgMedico);
                cmd.Parameters.AddWithValue("@CPF", medico.CpfMedico);
                cmd.Parameters.AddWithValue("@TituloEleitor", medico.TituloEleitorMedico);
                cmd.Parameters.AddWithValue("@Login", medico.UsuarioMedico);
                cmd.Parameters.AddWithValue("@Senha", medico.SenhaMedico);

                cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {

                throw ex;
            }
            finally
            {
                conect.conn.Close();
            }
        }

        public void deleteMedico(CadMedico medico)
        {
            try
            {
                string sql = "DELETE from Cadastro_Medico where id = 0 ";

                MySqlCommand cmd = new MySqlCommand(sql, conect.conn);
                cmd.ExecuteNonQuery();

            }
            catch (Exception ex)
            {

                throw ex;
            }
            finally
            {
                conect.conn.Close();
            }
        }
    }
}